package com.hqhy.like.front.order.dao.persist.repository.impl;

import com.hqhy.like.front.order.dao.persist.mapper.TableMapper;
import com.hqhy.like.front.order.dao.persist.repository.ITableRepository;
import com.hqhy.like.front.order.pojo.entity.Table;
import com.hqhy.like.front.order.pojo.vo.TableStandardVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理桌台数据的存储库实现类
 */
@Repository
@Slf4j
public class TableRepositoryImpl implements ITableRepository {

    @Autowired
    private TableMapper tableMapper;

    public TableRepositoryImpl() {
        log.info("创建存储库对象：TableRepositoryImpl");
    }
    @Override
    public TableStandardVO getStandardById(Integer id) {
        log.debug("开始处理【根据桌台id查询桌台详情】的数据访问层，桌台id：{}", id);
        return tableMapper.getStandardById(id);
    }

    @Override
    public TableStandardVO getStandardByName(String tableName) {
        log.debug("开始处理【根据桌台名查询桌台】的数据访问层，桌台名：{}", tableName);
        return tableMapper.getStandardByName(tableName);
    }

    @Override
    public int updateById(Table table) {
        log.debug("开始处理【根据桌台id更新桌台数据】的数据访问层，桌台数据：{}", table);
        return tableMapper.updateById(table);
    }

    @Override
    public List<TableStandardVO> listAllByIsAvailable() {
        log.debug("开始处理【查询所有空闲的桌台】的数据访问层");
        return tableMapper.listAllByIsAvailable();
    }
}
